Summary of Camera Objects
C Summary
Constants
Camera Types
#define kQ3CameraTypeOrthographic Q3_OBJECT_TYPE('o','r','t','h') #define kQ3CameraTypeViewAngleAspect Q3_OBJECT_TYPE('v','a','n','a') #define kQ3CameraTypeViewPlane Q3_OBJECT_TYPE('v','w','p','l')Data Types
Camera Placement Structure
typedef struct TQ3CameraPlacement { TQ3Point3D cameraLocation; TQ3Point3D pointOfInterest; TQ3Vector3D upVector; } TQ3CameraPlacement;Camera Range Structure
typedef struct TQ3CameraRange { float hither; float yon; } TQ3CameraRange;Camera View Port
typedef struct TQ3CameraViewPort { TQ3Point2D origin; float width; float height; } TQ3CameraViewPort;Camera Data Structure
typedef struct TQ3CameraData { TQ3CameraPlacement placement; TQ3CameraRange range; TQ3CameraViewPort viewPort; } TQ3CameraData;Orthographic Camera Data Structure
typedef struct TQ3OrthographicCameraData { TQ3CameraData cameraData; float left; float top; float right; float bottom; } TQ3OrthographicCameraData;View Plane Camera Data Structure
typedef struct TQ3ViewPlaneCameraData { TQ3CameraData cameraData; float viewPlane; float halfWidthAtViewPlane; float halfHeightAtViewPlane; float centerXOnViewPlane; float centerYOnViewPlane; } TQ3ViewPlaneCameraData;Aspect Ratio Camera Data Structure
typedef struct TQ3ViewAngleAspectCameraData { TQ3CameraData cameraData; float fov; float aspectRatioXToY; } TQ3ViewAngleAspectCameraData;Camera Objects Routines
Managing Cameras
TQ3ObjectType Q3Camera_GetType(TQ3CameraObject camera); TQ3Status Q3Camera_GetData(TQ3CameraObject camera, TQ3CameraData *cameraData); TQ3Status Q3Camera_SetData(TQ3CameraObject camera, const TQ3CameraData *cameraData); TQ3Status Q3Camera_GetPlacement ( TQ3CameraObject camera, TQ3CameraPlacement *placement); TQ3Status Q3Camera_SetPlacement ( TQ3CameraObject camera, const TQ3CameraPlacement *placement); TQ3Status Q3Camera_GetRange(TQ3CameraObject camera, TQ3CameraRange *range); TQ3Status Q3Camera_SetRange(TQ3CameraObject camera, const TQ3CameraRange *range); TQ3Status Q3Camera_GetViewPort(TQ3CameraObject camera, TQ3CameraViewPort *viewPort); TQ3Status Q3Camera_SetViewPort(TQ3CameraObject camera, const TQ3CameraViewPort *viewPort); TQ3Status Q3Camera_GetWorldToView ( TQ3CameraObject camera, TQ3Matrix4x4 *worldToView); TQ3Status Q3Camera_GetViewToFrustum ( TQ3CameraObject camera, TQ3Matrix4x4 *viewToFrustum); TQ3Status Q3Camera_GetWorldToFrustum ( TQ3CameraObject camera, TQ3Matrix4x4 *worldToFrustum);Managing Orthographic Cameras
TQ3CameraObject Q3OrthographicCamera_New ( const TQ3OrthographicCameraData *orthographicData); TQ3Status Q3OrthographicCamera_GetData ( TQ3CameraObject camera, TQ3OrthographicCameraData *cameraData); TQ3Status Q3OrthographicCamera_SetData ( TQ3CameraObject camera, const TQ3OrthographicCameraData *cameraData); TQ3Status Q3OrthographicCamera_GetLeft ( TQ3CameraObject camera, float *left); TQ3Status Q3OrthographicCamera_SetLeft ( TQ3CameraObject camera, float left); TQ3Status Q3OrthographicCamera_GetTop ( TQ3CameraObject camera, float *top); TQ3Status Q3OrthographicCamera_SetTop ( TQ3CameraObject camera, float top); TQ3Status Q3OrthographicCamera_GetRight ( TQ3CameraObject camera, float *right); TQ3Status Q3OrthographicCamera_SetRight ( TQ3CameraObject camera, float right); TQ3Status Q3OrthographicCamera_GetBottom ( TQ3CameraObject camera, float *bottom); TQ3Status Q3OrthographicCamera_SetBottom ( TQ3CameraObject camera, float bottom);Managing View Plane Cameras
TQ3CameraObject Q3ViewPlaneCamera_New ( const TQ3ViewPlaneCameraData *cameraData); TQ3Status Q3ViewPlaneCamera_GetData ( TQ3CameraObject camera, TQ3ViewPlaneCameraData *cameraData); TQ3Status Q3ViewPlaneCamera_SetData ( TQ3CameraObject camera, const TQ3ViewPlaneCameraData *cameraData); TQ3Status Q3ViewPlaneCamera_GetViewPlane ( TQ3CameraObject camera, float *viewPlane); TQ3Status Q3ViewPlaneCamera_SetViewPlane ( TQ3CameraObject camera, float viewPlane); TQ3Status Q3ViewPlaneCamera_GetHalfWidth ( TQ3CameraObject camera, float *halfWidthAtViewPlane); TQ3Status Q3ViewPlaneCamera_SetHalfWidth ( TQ3CameraObject camera, float halfWidthAtViewPlane); TQ3Status Q3ViewPlaneCamera_GetHalfHeight ( TQ3CameraObject camera, float *halfHeightAtViewPlane); TQ3Status Q3ViewPlaneCamera_SetHalfHeight ( TQ3CameraObject camera, float halfHeightAtViewPlane); TQ3Status Q3ViewPlaneCamera_GetCenterX ( TQ3CameraObject camera, float *centerXOnViewPlane); TQ3Status Q3ViewPlaneCamera_SetCenterX ( TQ3CameraObject camera, float centerXOnViewPlane); TQ3Status Q3ViewPlaneCamera_GetCenterY ( TQ3CameraObject camera, float *centerYOnViewPlane); TQ3Status Q3ViewPlaneCamera_SetCenterY ( TQ3CameraObject camera, float centerYOnViewPlane);Managing Aspect Ratio Cameras
TQ3CameraObject Q3ViewAngleAspectCamera_New ( const TQ3ViewAngleAspectCameraData *cameraData); TQ3Status Q3ViewAngleAspectCamera_GetData ( TQ3CameraObject camera, TQ3ViewAngleAspectCameraData *cameraData); TQ3Status Q3ViewAngleAspectCamera_SetData ( TQ3CameraObject camera, const TQ3ViewAngleAspectCameraData *cameraData); TQ3Status Q3ViewAngleAspectCamera_GetFOV ( TQ3CameraObject camera, float *fov); TQ3Status Q3ViewAngleAspectCamera_SetFOV ( TQ3CameraObject camera, float fov); TQ3Status Q3ViewAngleAspectCamera_GetAspectRatio ( TQ3CameraObject camera, float *aspectRatioXToY); TQ3Status Q3ViewAngleAspectCamera_SetAspectRatio ( TQ3CameraObject camera, float aspectRatioXToY);Errors
kQ3ErrorInvalidCameraValues
Some camera values are invalid